package SecondeStage.MeiJu;

//使用时enum关键字时，会隐式继承Enum类(就不能再继承其他类了)，可以使用Enum类的相关方法
public class EnumMethod {
    public static void main(String[] args) {
        // 使用Season2枚举类，来演示各种方法
        Season2 autumn = Season2.autumn;
        //name() 输出枚举对象的名称
        System.out.println(autumn.name());
        System.out.println("----------");

        //ordinal() 输出的是该枚举对象的次序，从0开始编号
        //autumn 枚举对象是第三个，输出2
        System.out.println(autumn.ordinal());
        System.out.println("----------");

        //values(),返回Season2[],含有定义的所有枚举对象
        Season2[] values = Season2.values();
        for(Season2 season:values){  // 增强for循环
            System.out.println(season);
        }
        System.out.println("----------");

        //valueOf(): 将字符串转换为枚举对象，要求字符串必须为已有的常量名
        // 执行流程： 1. 根据你输入的字符串“autumn”,到Season2的枚举对象中去查找
        // 2. 如果找到了，就返回，找不到就报错
        Season2 autumn1 = Season2.valueOf("autumn");
        System.out.println("autumn1 =" +autumn1);
        System.out.println(autumn == autumn1);
        System.out.println("----------");

        // compareTo(): 比较两个枚举对象，比较的是编号
        Season2 summer = Season2.summer;
        System.out.println(summer.compareTo(autumn));
        System.out.println(autumn.compareTo(summer));
    }
}
